From 1e7e2bbc26b162d421f19e23f0d8d749c39209c8 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Thu, 31 Jul 2008 11:14:23 +0100 Subject: [PATCH] Remove vtd_hw_check(). Since we have separate VT-d page tables, actually we don't need the checking. Signed-off-by: Dexuan Cui --- xen/drivers/passthrough/vtd/dmar.c | 3 --- xen/drivers/passthrough/vtd/utils.c | 30 ----------------------------- 2 files changed, 33 deletions(-) diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c index 4b83510131..5be3246e71 100644 --- a/xen/drivers/passthrough/vtd/dmar.c +++ b/xen/drivers/passthrough/vtd/dmar.c @@ -483,9 +483,6 @@ int acpi_dmar_init(void) if ( !iommu_enabled ) goto fail; - if ( (rc = vtd_hw_check()) != 0 ) - goto fail; - acpi_table_parse(ACPI_SIG_DMAR, acpi_parse_dmar); rc = -ENODEV; diff --git a/xen/drivers/passthrough/vtd/utils.c b/xen/drivers/passthrough/vtd/utils.c index 96710eb627..ba9420fb3c 100644 --- a/xen/drivers/passthrough/vtd/utils.c +++ b/xen/drivers/passthrough/vtd/utils.c @@ -29,10 +29,6 @@ #include "vtd.h" #include "extern.h" -#define INTEL 0x8086 -#define SEABURG 0x4000 -#define C_STEP 2 - int is_usb_device(u8 bus, u8 devfn) { u16 class = pci_conf_read16(bus, PCI_SLOT(devfn), PCI_FUNC(devfn), @@ -40,32 +36,6 @@ int is_usb_device(u8 bus, u8 devfn) return (class == 0xc03); } -int vtd_hw_check(void) -{ - u16 vendor, device; - u8 revision, stepping; - - vendor = pci_conf_read16(0, 0, 0, PCI_VENDOR_ID); - device = pci_conf_read16(0, 0, 0, PCI_DEVICE_ID); - revision = pci_conf_read8(0, 0, 0, PCI_REVISION_ID); - stepping = revision & 0xf; - - if ( (vendor == INTEL) && (device == SEABURG) ) - { - if ( stepping < C_STEP ) - { - dprintk(XENLOG_WARNING VTDPREFIX, - "*** VT-d disabled - pre C0-step Seaburg found\n"); - dprintk(XENLOG_WARNING VTDPREFIX, - "*** vendor = %x device = %x revision = %x\n", - vendor, device, revision); - return -ENODEV; - } - } - - return 0; -} - /* Disable vt-d protected memory registers. */ void disable_pmr(struct iommu *iommu) { -- 2.30.2